sysbench测试
基本信息
192.168.1.58与192.168.1.59的内核参数文件内容是一致的
主机 |
CPU核心数 |
内存大小 |
内核版本 |
|
192.168.1.58 |
4核 |
8G |
2.6.32 |
192.168.1.58 |
4核 |
8G |
2.6.32 |
安装sysbench
官方安装脚本方式
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
yum安装方式
yum install epel-release && sudo yum -y install sysbench
export LD_LIBRARY_PATH=/usr/local/mysql/lib/
1 CPU基准测试报告
使用以下参数
--num-threads 线程数,默认值为1
--max-requests 最大请求数,默认值为10000
--cpu-max-prime 最大素数,使用该参数后,会使用64-bit int型进行性能测试计算
--percentile 取值百分比值,默认是95 ,即丢弃5%的长请求,在剩余的95%里取最大值
#指定线程数和最大请求数测试CPU
sysbench --num-threads=16 --max-requests=20000 --debug=on --test=cpu --cpu-max-prime=50000 run
主机 |
线程数 |
最大请求数 |
计算最大素数 |
总时间 |
最小响应时间 |
最大响应时间 |
平均响应时间 |
95%的语句的平均响应时间 |
192.168.1.58 |
16 |
20000 |
50000 |
10.0332s |
12.13ms |
48.45ms |
111.34ms |
78.60ms |
192.168.1.59 |
16 |
20000 |
50000 |
10.0567s |
23.74ms |
77.91ms |
125.91ms |
97.55ms |
2 磁盘IO基准测试报告
Sysbench的fileio测试需要经过prepare、run和cleanup三个阶段。prepare是准备阶段,生产需要的测试文件,run是实际测试阶段,cleanup是清理测试产生的文件。
进行4个文件、总大小2GB的fileio测试:
sysbench fileio \
--file-num=4 \
--file-total-size=2G \
prepare
sysbench fileio \
--time=180 \
--events=100000000 \
--threads=1 \
--file-num=4 \
--file-total-size=2G \
--file-io-mode=sync \
--file-test-mode=rndrd \
--file-block-size=16384 \
run
sysbench fileio \
--file-num=16 \
--file-total-size=2G \
cleanup
prepare阶段
主机名 |
准备时间 |
速率 |
192.168.1.58 |
10.24s |
200.02 MiB/s |
192.168.1.59 |
39.61s |
51.70 MiB/s |
测试阶段
主机名 |
测试模式 |
最大随机请求数 |
磁盘IOPS |
磁盘每秒速率 |
192.168.1.58 |
rndrd |
100000000 |
257233.75 |
4019.28 |
192.168.1.59 |
rndrd |
100000000 |
177808.02 |
2778.25 |
3 OLTP基准测试
查看帮助
sysbench --test=oltp help
主要测试以下参数
--mysql-engine-trx=STRING 指定不同的存储引擎测试。
--oltp-test-mode=STRING 测试类型:simple(简单select测试),complex(事务测试),nontrx(非事务测试),sp(存储过程) ;默认complex
--oltp-sp-name=STRING 指定存储过程进行语句测试
--oltp-table-size=N 指定表的记录大小,默认[10000]
--oltp-num-tables=N 指定测试表的数量,默认[1]
先创建好测试数据库eitest
事务测试,测试12个线程执行1万条请求,10个表,每个表大小100W
准备
sysbench --num-threads=12 --max-requests=100000 \
--test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua\
--mysql-user=root --mysql-password=123456 \
--oltp-test-mode=complex --mysql-db=eitest --db-driver=mysql \
--oltp-table-size=1000000 --oltp-num-tables=10 prepare
测试
sysbench --num-threads=12 --max-requests=100000 \
--test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua\
--mysql-user=root --mysql-password=123456 \
--oltp-test-mode=complex --mysql-db=eitest --db-driver=mysql \
--oltp-table-size=1000000 --oltp-num-tables=10 run
清理
sysbench --num-threads=12 --max-requests=100000 \
--test=/usr/share/sysbench/tests/include/oltp_legacy/oltp.lua\
--mysql-user=root --mysql-password=123456 \
--oltp-test-mode=complex --mysql-db=eitest --db-driver=mysql \
--oltp-table-size=1000000 --oltp-num-tables=10 cleanup
每秒事务量 TPS
每秒的读写请求数 RQ
主机名 |
CPU核心数 |
内存 |
总时间 |
TPS |
RQ |
95%的请求花费 |
192.168.1.58 |
4核 |
8G |
10.0099s |
850.00 |
16999.98 |
23.95 |
192.168.1.59 |
2核 |
8G |
10.0100s |
775.50 |
15509.93 |
26.20 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。